package com.demo.java.OD1_50.OD2;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 分糖果问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145497197
 */
public class test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        long candies = scanner.nextLong(); // 输入初始糖果数
        int steps = 0;  // 记录操作次数

        // 当糖果数大于1时继续操作
        while (candies > 1) {
            if (candies % 2 == 0) {
                // 如果是偶数，直接除以2
                candies /= 2;
            } else {
                // 如果是奇数，可以选择加1或减1使其变为偶数
                if ((candies + 1) % 4 == 0 && candies != 3) {
                    candies += 1;  // 加1变偶数
                } else {
                    candies -= 1;  // 减1变偶数
                }
            }
            steps++;  // 每次操作都计数
        }

        System.out.println(steps);  // 输出最少操作次数
    }
}
